package com.errol.generic.baiducloud.portraitai;

import com.renjia.service.generic.baiducloud.portraitai.pojo.BaiduPortraitSegmentResultDTO;
import com.renjia.service.generic.baiducloud.portraitai.pojo.BaiduPortraitSegmentTypeEnum;
import org.springframework.lang.NonNull;

import java.io.File;

/**
 * 百度人像AI技术系列接口，根据百度人像技术接口文档实现，原则上不关心系统业务对接
 * 当前使用 http 请求调用服务，后续也可以扩展使用 sdk
 *
 * @author zhang xiao bin
 * @version v1.0
 * @date 2020/09/21
 * @since v4.7.2
 **/
public interface BaiduPortraitAiService {

    /**
     * 调用百度人像分割服务
     *
     * @param image    要分割的照片，Base64 编码后不能 >4M
     * @param typeEnum 需要哪些返回图类型，可以多个
     * @return 服务调用结果返回值，{@link BaiduPortraitSegmentResultDTO.ResultStatus} 表示结果状态
     */
    @NonNull
    BaiduPortraitSegmentResultDTO portraitSegment(@NonNull File image, @NonNull BaiduPortraitSegmentTypeEnum[] typeEnum);

}
